package com.rs.game.player.controlers;

import com.rs.game.Entity;
import com.rs.game.WorldObject;
import com.rs.game.WorldTile;
import com.rs.game.item.Item;
import com.rs.game.npc.NPC;
import com.rs.game.player.Player;
import com.rs.game.player.content.Foods.Food;
import com.rs.game.player.content.Pots.Pot;

public class AccountPinControler extends Controler {
	
	@Override
	public boolean canMove(int dir) {
		return false;
	}
	
	@Override
	public boolean canAttack(Entity target) {
		return false;
	}
	
	@Override
	public boolean canDeleteInventoryItem(int itemId, int amount) {
		return false;
	}
	
	@Override
	public boolean canUseItemOnItem(Item itemUsed, Item usedWith) {
		return false;
	}
	
	@Override
	public boolean canAddInventoryItem(int itemId, int amount) {
		return false;
	}
	
	@Override
	public boolean canPlayerOption1(Player target) {
		return false;
	}
	
	@Override
	public boolean canHit(Entity entity) {
		return false;
	}
	
	@Override
	public boolean keepCombating(Entity target) {
		return false;
	}
	
	@Override
	public boolean canEquip(int slotId, int itemId) {
		return false;
	}
	
	@Override
	public boolean canUnEquip(int slotId, int itemId) {
		return false;
	}
	
	@Override
	public boolean canEat(Food food) {
		return false;
	}
	
	@Override
	public boolean canPot(Pot pot) {
		return false;
	}
	
	@Override
	public boolean useDialogueScript(Object key) {
		return false;
	}
	
	@Override
	public boolean processMagicTeleport(WorldTile toTile) {
		return false;
	}
	
	@Override
	public boolean processItemTeleport(WorldTile toTile) {
		return false;
	}
	
	@Override
	public boolean processObjectTeleport(WorldTile toTile) {
		return false;
	}
	
	@Override
	public boolean processObjectClick1(WorldObject object) {
		return false;
	}
	
	@Override
	public boolean processButtonClick(int interfaceId, int componentId, int slotId, int packetId) {
		if (interfaceId == 182 && (componentId == 13 || componentId == 6)) {
			return true;
		}
		return false;
	}
	
	@Override
	public boolean processNPCClick1(NPC npc) {
		return false;
	}
	
	@Override
	public boolean processNPCClick2(NPC npc) {
		return false;
	}
	
	@Override
	public boolean processNPCClick3(NPC npc) {
		return false;
	}
	
	@Override
	public boolean processObjectClick2(WorldObject object) {
		return false;
	}
	
	@Override
	public boolean processObjectClick3(WorldObject object) {
		return false;
	}
	
	@Override
	public boolean processObjectClick5(WorldObject object) {
		return false;
	}
	
	@Override
	public boolean sendDeath() {
		return false;
	}
	
	@Override
	public boolean checkWalkStep(int lastX, int lastY, int nextX, int nextY) {
		return false;
	}
	
	@Override
	public boolean processItemOnNPC(NPC npc, Item item) {
		return false;
	}
	
	@Override
	public boolean canDropItem(Item item) {
		return false;
	}
	
	@Override
	public boolean canSummonFamiliar() {
		return false;
	}
	
	@Override
	public boolean canChat(Player player, String message) {
		int accountPin = player.getAccountPin();
		if (message.equalsIgnoreCase(Integer.toString(accountPin))) {
			player.getPackets().sendGameMessage("<col=FF0000>You have unlocked your account, don't say you PIN anymore!");
			removeControler();
		} else {
			player.getPackets().sendGameMessage("<col=FF0000>Invalid PIN number, please say your PIN number like normal.");
		}
		return false;
	}

	@Override
	public void start() {
		player.getPackets().sendGameMessage("<col=FF0000>You have logged in from a different IP, please provide your account pin unlock your account so you may play.</col>");
	}
	
}